// 导入mobx
import {createStoreBindings} from 'mobx-miniprogram-bindings'
import store from '../../store/idnex'
// index.js
// 引入验证码的请求函数
import { number,login } from "../../api/user";
// 获取应用实例
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseGetUserProfile: false,
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
    value:'',//手机号
    code:'',//验证码
    time: 2 * 1000,
    flag:true,
    errorMessage:{
      phone:'',
      number:''
    },
    // token: //把token放到
  },
  // updataValue(e){  
  // console.log(e.detail);
  // this.setData({
  //   code:e.datail,
  //   'errorMessage.number':''
  // })
  // },
  // 验证手机号函数
  handlePhone(){
   if(this.data.value === ''){
    // console.log(this.data.value);
    this.setData({
      'errorMessage.phone':'请输入手机号'
    }) 
   }else{
    this.setData({
      'errorMessage.phone':''
    }) 
   }
   const res = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1589]))\d{8}$/
   if(!res.test(this.data.value)){
    if(this.data.value !== ''){
      this.setData({
        'errorMessage.phone':'手机号码格式不正确'
      })
    } 
  }else{
    // console.log(1);
    this.setData({
      'errorMessage.phone':''
    }) 
  }  
   
  },
  // 验证码校验函数
  handleNumber(){
    // 验证码校验
    if(this.data.code === ''){
      // console.log(13);
      // console.log(this.data.code);
      this.setData({
        'errorMessage.number':'请输入验证码'
      }) 
     }else{
      this.setData({
        'errorMessage.number':''
      }) 
     }
     const res = /^\w{6}$/
     if(!res.test(this.data.code)){
      if(this.data.code !== ''){
        this.setData({
          'errorMessage.number':'验证码格式不对'
        })
      }   
    }else{
      this.setData({
        'errorMessage.number':''
      }) 
    }
  },
  // 登入验证
 async handleLogin(){
    // console.log(1223);
    // 获取数据
  const res2 = await login({mobile:this.data.value,code:this.data.code})
  // console.log(res2.data.token);
  wx.setStorageSync('setToken', res2.data.token)//保存token
  // console.log(res2.data.token);
  // 把token放到mobx里面去
  
  this.updateToken(res2.data.token)
    const res = /^\w{6}$/
    const res1 = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1589]))\d{8}$/
    // 调用手机号校验
    this.handlePhone()
    
    // 调用验证码函数
    this.handleNumber()
    if(res2.data.token){
      // 跳转到tabBar页面
      // console.log(res2.data.token);
      wx.switchTab({
        url:"/pages/home/home"
      })
    }
  },
  // 验证验证码

  // 修改验证码
  // setNumber(e){
  //   console.log(123);
  // },
  // 点击登入
//   handleLogin(){
// console.log('我是登入');
//   },
  // 验证码倒计时结束关闭
  onFinish(){
    // console.log(123);
    this.setData({
        flag:true
       })
  },
  // 请求验证码
 async getNumber(e){
  // 调用手机号校验
  this.handlePhone()
    this.setData({
      flag:false
     })
    
  // })
  // console.log(typeof this.data.value);
  // 获取验证码吗数据
   try {
    await number(this.data.value)
    wx.showToast({
      title:'登入成功',
      icon:'success'
    })
   } catch (error) {
    wx.showToast({
      title:'登入失败',
      icon:'error'
    })
   }
  // console.log(res);
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad(options) {
    createStoreBindings(this,{
      store:store,
      fileds:['token'],
      actions:['updateToken']

    })
    // console.log(this.token);
    // console.log(options);
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})
